Modern multimedia applications such as video processing, graphics processing and audio processing have considerably increased the performance requirements of consumer-based computing systems. These applications present particular challenges for mobile computing devices, which are subject to stringent power and space restraints.
Single-Instruction-Multiple-Data (SIMD) architectures are commonly used for handling such processing-intensive applications. Multipliers and adders typically comprise the power- and performance-critical components of these architectures. An SIMD architecture may include a configuration of multipliers and adders for handling operands of a fixed bit-width and for providing a fixed degree of parallelism. However, different applications may require different operand bit-widths and/or degrees of parallelism. The SIMD architecture must therefore include a separate configuration of multipliers and adders (i.e., a separate SIMD datapath) to meet the requirements of the different applications.